In current digital communication systems, for example digital cellular telephony, digital radio communication systems or wireline transmission systems, the transmitted digital messages are distorted by the channel and affected by noise and interference. The received data at the receiver has to be processed adequately in order to recover the sent messages.
In the transmitter of a digital communication system, information bits are mapped onto complex symbol constellations, such as 16-point Quadrature Amplitude Modulation (16-QAM), 64-point Quadrature Amplitude Modulation (64-QAM), etc. Higher order modulations, for instance 256-point Quadrature Amplitude Modulation (256-QAM) and higher, are required for spectrally efficient communication systems.
The corresponding inverse operation carried out in the receiver is known as demapping, which comprises computing a metric for each information bit to be input to a decoder.
FIG. 1 shows a simplified model of a digital communication system, which is valid for the vast majority of modern systems for digital data transmission. A sequence of information bits (u), forming a message which is input to a transmitter (T), is first encoded by a FEC encoder (1) for Forward Error Correction and this yields a sequence of coded bits (c) which, in turn, is fed into an interleaver (2). The interleaver (2) permutes the sequence of coded bits (c) and feeds them to a QAM mapper (3), which transforms a determined number (Q) of bits into a QAM symbol (x) to be sent by the transmitter (T).
The QAM mapper (3) maps a binary vector b=(b1, . . . , bQ) of Q elements to one QAM symbol (x) taken out of a discrete alphabet Cx, i.e. x=map(b) and that is:b=(b1, . . . , bQ)→xεCx  (equation 1)
where bqε{0,1} are binary values and Cx represents the QAM constellation, which contains 2Q complex-valued constellation points.
The mapping is one-to-one, i.e. each point in the constellation Cx is uniquely identified by a bit vector and vice versa. This relationship between the bit vectors b and the constellation points xεCx is also called labelling.
The effect of the transmission filter and digital-analog conversion, the physical channel and the receiver filter including analog-digital conversion is represented by an equivalent baseband channel (4).
A coded and modulated signal according to the QAM scheme used in the transmitter (T) is sent through a communications medium to a receiver (R).
Assuming the equivalent baseband channel (4) is defined by a channel coefficient h and the noise in the communications medium is modelled as Additive White Gaussian, the received signal can be expressed by a series of one or more received QAM symbols (y) being:y=h·x+w  (equation 2)
where w is a complex circular Gaussian distributed random variable with zero mean and variance N0. In other words, the real and imaginary part of w are Gaussian i.i.d. (independent and identically distributed) with zero mean and variance N0/2.
This means that the transmitted QAM symbol x is attenuated by a channel coefficient h and is corrupted by additive noise w. If the channel coefficient h changes over time, h refers to a fading channel. If h is constant over time, then the channel reduces to the simpler AWGN channel (Additive White Gaussian Noise). The following considerations apply to both cases.
The conditional probability density function of the channel is hence given by:
                              p          ⁡                      (                          y              ❘              x                        )                          =                              1                          π              ⁢                                                          ⁢                              N                0                                              ⁢                      exp            (                          -                                                                                                              y                      -                                              h                        ·                        x                                                                                                  2                                                  N                  0                                                      )                                              (                  equation          ⁢                                          ⁢          3                )            
The received signal is demodulated by using a demapper (5) and a deinterleaver (6) to produce an information stream which is subsequently decoded in a channel decoder (7), which is a FEC decoder, in order to obtain another sequence of information bits (û) forming the received message.
The receiver (R) tries to recover all the information bits (u) of the transmitted message. A simple but suboptimum solution is to perform in the receiver (R) the same steps as in the transmitter (T), but in reverse order. This simple strategy first finds for every noisy received QAM symbol (y) the corresponding constellation point and bit vector. However, this “hard demapping” discards information which might be exploited by the FEC decoder. Therefore, in modern receivers to improve coding performance, the demapper (5) provides a so-called “soft information” on each bit. This soft information provides not only an indication on the value of each bit but also an estimation of its reliability. The most common form to define this soft information is the L-value (Dq), which indicates the logarithm of a relative probability that a bit in the source bit stream has a particular value:
                              D          q                =                  ln          ⁢                                    P              ⁡                              [                                                      b                    q                                    =                                      1                    ❘                    y                                                  ]                                                    P              ⁡                              [                                                      b                    q                                    =                                      0                    ❘                    y                                                  ]                                                                        (                  equation          ⁢                                          ⁢          4                )            
where bq denotes the q-th bit in the bit vector b [for reference, see “Códigos BICM De Complejidad Reducida Con Decodificación Iterativa Y Código Interno” by S. Pfletschinger, M. Navarro and D. Bellver, issued at XX Simposio Nacional de la URSI, 2005, and available in w3.iec.csic.es/URSI/articulos_gandia—2005/articulos/CMo1/560.pdf; see also “A low-complexity MIMO system with soft interference mitigation” by S. Pfletschinger and M. Navarro, Global Telecommunications Conference, 2004, IEEE Volume 1, Pages 396-400].
From the L-value (Dq), the a posteriori probability P[bq=1|y] can be gleaned directly, and vice versa. By applying some basic equations from probability theory, the L-value (Dq) for the q-th bit (bq) in the bit vector (b) can be written as:
                              D          q                =                              ln            ⁢                                          P                ⁡                                  [                                                            b                      q                                        =                    1                                    ]                                                            P                ⁡                                  [                                                            b                      q                                        =                    0                                    ]                                                              +                      ln            ⁢                                                            ∑                                                            b                      ^                                        ∈                                          B                                              q                        ,                        1                                                                                            ⁢                                  p                  ⁡                                      (                                          y                      ❘                                              b                        ^                                                              )                                                                                                ∑                                                            b                      ^                                        ∈                                          B                                              q                        ,                        0                                                                                            ⁢                                  p                  ⁡                                      (                                          y                      ❘                                              b                        ^                                                              )                                                                                                          (                  equation          ⁢                                          ⁢          5                )            
where Bq,1={b:bq=1} denotes the set of bit vectors which have a value “one” at position q and Bq,0={b:bq=0} is the set of bit vectors with a “zero” in their q-th position.
The first term in equation 5 is the a priori L-value
            A      q        =          ln      ⁢                        P          ⁡                      [                                          b                q                            =              1                        ]                                    P          ⁡                      [                                          b                q                            =              0                        ]                                ,which in the following is assumed to be equal to zero. This assumption is tantamount to saying that “ones” and “zeros” are equiprobable, and is fulfilled at the output of any reasonable designed source or channel coding scheme. In any case, as long as the probabilities are not available at the decoder (7), equiprobable bits have to be assumed.
Hence, assuming P[bq=1]=P[bq=0] and with equation 3 the L-value (Dq) can be obtained as:
                              D          q                =                  ln          ⁢                                                    ∑                                                      b                    ^                                    ∈                                      B                                          q                      ,                      1                                                                                  ⁢                              exp                ⁡                                  (                                      -                                                                                                                                                  y                            -                                                          h                              ·                                                              map                                (                                                                  b                                  ^                                                                )                                                                                                                                                              2                                                                    N                        0                                                                              )                                                                                    ∑                                                      b                    ^                                    ∈                                      B                                          q                      ,                      0                                                                                  ⁢                              exp                ⁡                                  (                                      -                                                                                                                                                  y                            -                                                          h                              ·                                                              map                                ⁡                                                                  (                                                                      b                                    ^                                                                    )                                                                                                                                                                                              2                                                                    N                        0                                                                              )                                                                                        (                  equation          ⁢                                          ⁢          6                )            
With the definition of the Jacobian logarithm
                    jaclog                  i          =                      1            ⁢                                                  ⁢            …            ⁢                                                  ⁢            n                              ⁢              (                  x          i                )              =          ln      (                        ∑                      i            =            1                    n                ⁢                  exp          ⁡                      (                          x              i                        )                              )        ,
equation 6 can be written as
                              D          q                =                                            jaclog                                                b                  ^                                ∈                                  B                                      q                    ,                    1                                                                        (                          -                                                                                                              y                      -                                              h                        ·                                                  map                          (                                                      b                            ^                                                    )                                                                                                                          2                                                  N                  0                                                      )                    -                                    jaclog                                                b                  ^                                ∈                                  B                                      q                    ,                    0                                                                        (                          -                                                                                                              y                      -                                              h                        ·                                                  map                          (                                                      b                            ^                                                    )                                                                                                                          2                                                  N                  0                                                      )                                              (                  equation          ⁢                                          ⁢          7                )            
An approximation, which is often applied for the calculation of L-values, is the max-log approximation [see, e.g., “A comparison of optimal and sub-optimal MAP decoding algorithms operating in the log domain”, by P. Robertson et al., IEEE International Communications Conference, Seattle (USA), June 1995] as follows:jac log(x1, . . . , xn)≈max{x1, . . . , xn}  (equation 8)
This leads to
                              D          q                =                              1                          N              0                                ⁢                      (                                                            min                                      x                    ∈                                          X                                              q                        ,                        0                                                                                            ⁢                                                                                                y                      -                                              h                        ·                        x                                                                                                  2                                            -                                                min                                      x                    ∈                                          X                                              q                        ,                        1                                                                                            ⁢                                                                                                y                      -                                              h                        ·                        x                                                                                                  2                                                      )                                              (                  equation          ⁢                                          ⁢          9                )            
where Xq,1={x=map(b):bq=1 } and Xq,0={x=map(b):bq=0}.
The calculation of the L-value (Dq) according to equation 9 is conceptionally very simply, but for large constellations it is computationally costly since it requires the search of the minimum in the sets Xq,1, and Xq,0. For instance, in a 64-QAM constellation each one of these sets consists of 32 points, while for a 1024-QAM constellation, which carries 10 bits per symbol, each set has 512 points.
The methods disclosed in U.S. Pat. No. 6,078,626 and GB2388760 are alternatives for the computation and implementation of equation 9, but they are aimed at QAM constellation of moderate size (e.g. 16-QAM, 64-QAM) and do not result efficient for higher-order modulations. Both U.S. Pat. No. 6,078,626 and GB2388760 describe methods for calculating the L-value that require for a previous step of distinction of different cases, depending on the level of the real and imaginary part of the input signal. For higher-order modulations, the number of case distinctions and so the complexity increase.
So far, in existing digital communications systems, the calculation of the L-values according to equation 9 comes at a high computational cost, especially for higher order modulations, which are required for spectrally efficient communication. It is therefore desirable to decrease the computational complexity of the calculation of the “soft information” required by the demapper, and thus to facilitate the implementation of soft demapping in real-time applications.